#pragma once

#include <vector>
#include <map>
#include <glm/glm.hpp>
#include <string>

// #include "components/component.h"

namespace vortex
{
    class Component;

    class GameObject
    {
    public:
        GameObject();

        Component* AddComponent(const std::string& component_name);
        Component* GetComponent(const std::string& component_name);
        void RemoveComponent(const std::string& component_name);

    private:
        std::map<std::string, Component* > components;
    };
}
